home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / contrib / f2c95201 / src / readme < prev   
Encoding:
Text File  |  1995-02-04  |  22.0 KB  |  609 lines

  1.  
  2. ====== old index for f2c, now "readme from f2c" ============
  3.  
  4. FILES:
  5.  
  6. f2c.h    Include file necessary for compiling output of the converter.
  7.     See the second NOTE below.
  8.  
  9. f2c.1    Man page for f2c.
  10.  
  11. f2c.1t    Source for f2c.1 (to be processed by troff -man or nroff -man).
  12.  
  13. libf77    Library of non I/O support routines the generated C may need.
  14.     Fortran main programs result in a C function named MAIN__ that
  15.     is meant to be invoked by the main() in libf77.
  16.  
  17. libi77    Library of Fortran I/O routines the generated C may need.
  18.     Note that some vendors (e.g., BSD, Sun and MIPS) provide a
  19.     libF77 and libI77 that are incompatible with f2c -- they
  20.     provide some differently named routines or routines with the
  21.     names that f2c expects, but with different calling sequences.
  22.     On such systems, the recommended procedure is to merge
  23.     libf77 and libi77 into a single library, say libf2c, and to
  24.         install it where you can access it by specifying -lf2c .  The
  25.         definition of link_msg in sysdep.c assumes this arrangement.
  26.  
  27. f2c.ps    Postscript for a technical report on f2c.  After you strip the
  28.     mail header, the first line should be "%!PS".
  29.  
  30. fixes    The complete change log, reporting bug fixes and other changes.
  31.     (Some recent change-log entries are given below).
  32.  
  33. fc    A shell script that uses f2c and imitates much of the behavior
  34.     of commonly found f77 commands.  You will almost certainly
  35.     need to adjust some of the shell-variable assignments to make
  36.     this script work on your system.
  37.  
  38.  
  39. SUBDIRECTORY:
  40.  
  41. f2c/src    Source for the converter itself, including a file of checksums
  42.     and source for a program to compute the checksums (to verify
  43.     correct transmission of the source), is available: ask netlib
  44.     (e.g., netlib@research.att.com) to
  45.         send all from f2c/src
  46.     If the checksums show damage to just a few source files, or if
  47.     the change log file (see "fixes" below) reports corrections to
  48.     some source files, you can request those files individually
  49.     "from f2c/src".  For example, to get defs.h and xsum0.out, you
  50.     would ask netlib to
  51.         send defs.h xsum0.out from f2c/src
  52.     "all from f2c/src" is about 640 kilobytes long; for convenience
  53.     (and checksums), it includes copies of f2c.h, f2c.1, and f2c.1t.
  54.  
  55.     Tip: if asked to send over 99,000 bytes in one request, netlib
  56.     breaks the shipment into 1000 line pieces and sends each piece
  57.     separately (since otherwise some mailers might gag).  To avoid
  58.     the hassle of reassembling the pieces, try to keep each request
  59.     under 99,000 bytes long.  The final number in each line of
  60.     xsum0.out gives the length of each file in f2c/src.  For
  61.     example,
  62.         send exec.c expr.c from f2c/src
  63.         send format.c format_data.c from f2c/src
  64.     will give you slightly less hassle than
  65.         send exec.c expr.c format.c format_data.c from f2c/src
  66.     Alternatively, if all the mailers in your return path allow
  67.     long messages, you can supply an appropriate mailsize line in
  68.     your netlib request, e.g.
  69.         mailsize 200k
  70.         send exec.c expr.c format.c format_data.c from f2c/src
  71.  
  72.     If you have trouble generating gram.c, you can ask netlib to
  73.         send gram.c from f2c/src
  74.     Then `xsum gram.c` should report
  75.         gram.c    1814e302    57355
  76.  
  77. NOTE:    For now, you may exercise f2c by sending netlib a message whose
  78.     first line is "execute f2c" and whose remaining lines are
  79.     the Fortran 77 source that you wish to have converted.
  80.     Return mail brings you the resulting C, with f2c's error
  81.     messages between #ifdef uNdEfInEd and #endif at the end.
  82.     (To understand line numbers in the error messages, regard
  83.     the "execute f2c" line as line 0.  It is stripped away by
  84.     the netlib software before f2c sees your Fortran input.)
  85.     Options described in the man page may be transmitted to
  86.     netlib by having the first line of input be a comment
  87.     whose first 6 characters are "c$f2c " and whose remaining
  88.     characters are the desired options, e.g., "c$f2c -R -u".
  89.  
  90.     You may say "execute f2c" in the Subject line instead of (but
  91.     *not* in addition to) in the first line of the message body.
  92.  
  93.     The incoming Fortran is saved, at least for a while.  Don't
  94.     send any secrets!
  95.  
  96.  
  97. BUGS:    Please send bug reports (including the shortest example
  98.     you can find that illustrates the bug) to research!dmg
  99.     or dmg@research.att.com .  You might first check whether
  100.     the bug goes away when you turn optimization off.
  101.  
  102.  
  103. NOTE:    f2c.h defines several types, e.g., real, integer, doublereal.
  104.     The definitions in f2c.h are suitable for most machines, but if
  105.     your machine has sizeof(double) > 2*sizeof(long), you may need
  106.     to adjust f2c.h appropriately.  f2c assumes
  107.         sizeof(doublecomplex) = 2*sizeof(doublereal)
  108.         sizeof(doublereal) = sizeof(complex)
  109.         sizeof(doublereal) = 2*sizeof(real)
  110.         sizeof(real) = sizeof(integer)
  111.         sizeof(real) = sizeof(logical)
  112.         sizeof(real) = 2*sizeof(shortint)
  113.     EQUIVALENCEs may not be translated correctly if these
  114.     assumptions are violated.
  115.  
  116.     On machines, such as those using a DEC Alpha processor, on
  117.     which sizeof(short) == 2, sizeof(int) == sizeof(float) == 4,
  118.     and sizeof(long) == sizeof(double) == 8, it suffices to
  119.     modify f2c.h by removing the first occurrence of "long "
  120.     on each line containing "long ", e.g., by issuing the
  121.     commands
  122.         mv f2c.h f2c.h0
  123.         sed 's/long //' f2c.h0 >f2c.h
  124.     On such machines, one can enable INTEGER*8 by uncommenting
  125.     the typedef of longint in f2c.h, so it reads
  126.         typedef long longint;
  127.     by compiling libI77 with -DAllow_TYQUAD, and by adjusting
  128.     libF77/makefile as described in libF77/README.
  129.  
  130.     Some machines may have sizeof(int) == 4 and
  131.     sizeof(long long) == 8.  On such machines, adjust f2c.h
  132.     by changing "long int " to "long long ", e.g., by saying
  133.         mv f2c.h f2c.h0
  134.         sed 's/long int /long long /' f2c.h0 >f2c.h
  135.     One can enable INTEGER*8 on such machines as described
  136.     above, but with
  137.         typedef long long longint;
  138.  
  139.     There exists a C compiler that objects to the lines
  140.         typedef VOID C_f;    /* complex function */
  141.         typedef VOID H_f;    /* character function */
  142.         typedef VOID Z_f;    /* double complex function */
  143.     in f2c.h .  If yours is such a compiler, do two things:
  144.     1. Complain to your vendor about this compiler bug.
  145.     2. Find the line
  146.         #define VOID void
  147.        in f2c.h and change it to
  148.         #define VOID int
  149.     (For readability, the f2c.h lines shown above have had two
  150.     tabs inserted before their first character.)
  151.  
  152. FTP:    All the material described above is now available by anonymous
  153.     ftp from netlib.att.com (login: anonymous; Password: your E-mail
  154.     address; cd netlib/f2c).  Note that you can say, e.g.,
  155.  
  156.         cd /netlib/f2c/src
  157.         binary
  158.         prompt
  159.         mget *.Z
  160.  
  161.     to get all the .Z files in src.  You must uncompress the .Z
  162.     files once you have a copy of them, e.g., by
  163.  
  164.         uncompress *.Z
  165.  
  166.     Subdirectory msdos contains two PC versions of f2c,
  167.     f2c.exe.Z and f2cx.exe.Z; the latter uses extended memory.
  168.     The README in that directory provides more details.
  169.  
  170.     Changes appear first in the f2c files available by E-mail
  171.     from netlib@research.att.com.  If the deamons work right,
  172.     changed files are available the next day by ftp from
  173.     netlib.att.com.  In due course, they reach other netlib servers.
  174.  
  175. -----------------
  176. Recent change log (partial)
  177. -----------------
  178.  
  179. Tue May 10 07:55:12 EDT 1994
  180.   Trivial changes to exec.c, p1output.c, parse_args.c, proc.c,
  181. and putpcc.c: change arguments from
  182.     type foo[]
  183. to
  184.     type *foo
  185. for consistency with defs.h.  For most compilers, this makes no
  186. difference.
  187.  
  188. Thu Jun  2 12:18:18 EDT 1994
  189.   Fix bug in handling FORMAT statements that have adjacent character
  190. (or Hollerith) strings: an extraneous \002 appeared between the
  191. strings.
  192.   libf77: under -DNO_ONEXIT, arrange for f_exit to be called just
  193. once; previously, upon abnormal termination (including stop statements),
  194. it was called twice.
  195.  
  196. Mon Jun  6 15:52:57 EDT 1994
  197.   libf77: Avoid references to SIGABRT and SIGIOT if neither is defined;
  198. Version.c not changed.
  199.   libi77: Add cast to definition of errfl() in fio.h; this only matters
  200. on systems with sizeof(int) < sizeof(long).  Under -DNON_UNIX_STDIO,
  201. use binary mode for direct formatted files (to avoid any confusion
  202. connected with \n characters).
  203.  
  204. Fri Jun 10 16:47:31 EDT 1994
  205.   Fix bug under -A in handling unreferenced (and undeclared)
  206. external arguments in subroutines with multiple entry points.  Example:
  207.     subroutine m(fcn,futil)
  208.     external fcn,futil
  209.     call fcn
  210.     entry mintio(i1) ! (D_fp)0 rather than (U_fp)0 for futil
  211.     end
  212.  
  213. Wed Jun 15 10:38:14 EDT 1994
  214.   Allow char(constant expression) function in parameter declarations.
  215. (This was probably broken in the changes of 29 March 1994.)
  216.  
  217. Fri Jul  1 23:54:00 EDT 1994
  218.   Minor adjustments to makefile (rule for f2c.1 commented out) and
  219. sysdep.h (#undef KR_headers if __STDC__ is #defined, and base test
  220. for ANSI_Libraries and ANSI_Prototypes on KR_headers rather than
  221. __STDC__); version.c touched but not changed.
  222.   libi77: adjust fp.h so local.h is only needed under -DV10.
  223.  
  224. Tue Jul  5 03:05:46 EDT 1994
  225.   Fix segmentation fault in
  226.     subroutine foo(a,b,k)
  227.     data i/1/
  228.     double precision a(k,1)    ! sequence error: must precede data
  229.     b = a(i,1)
  230.     end
  231.   libi77: Fix bug (introduced 6 June 1994?) in reopening files under
  232. NON_UNIX_STDIO.
  233.   Fix some error messages caused by illegal Fortran.  Examples:
  234. * 1.
  235.     x(i) = 0  !Missing declaration for array x
  236.     call f(x) !Said Impossible storage class 8 in routine mkaddr
  237.     end      !Now says invalid use of statement function x
  238. * 2.
  239.     f = g    !No declaration for g; by default it's a real variable
  240.     call g    !Said invalid class code 2 for function g
  241.     end    !Now says g cannot be called
  242. * 3.
  243.     intrinsic foo    !Invalid intrinsic name
  244.     a = foo(b)    !Said intrcall: bad intrgroup 0
  245.     end        !Now just complains about line 1
  246.  
  247. Tue Jul  5 11:14:26 EDT 1994
  248.   Fix glitch in handling erroneous statement function declarations.
  249. Example:
  250.     a(j(i) - i) = a(j(i) - i) + 1    ! bad statement function
  251.     call foo(a(3))    ! Said Impossible type 0 in routine mktmpn
  252.     end        ! Now warns that i and j are not used
  253.  
  254. Wed Jul  6 17:31:25 EDT 1994
  255.   Tweak test for statement functions that (illegally) call themselves;
  256. f2c will now proceed to check for other errors, rather than bailing
  257. out at the first recursive statement function reference.
  258.   Warn about but retain divisions by 0 (instead of calling them
  259. "compiler errors" and quiting).  On IEEE machines, this permits
  260.     double precision nan, ninf, pinf
  261.     nan = 0.d0/0.d0
  262.     pinf = 1.d0/0.d0
  263.     ninf = -1.d0/0.d0
  264.     write(*,*) 'nan, pinf, ninf = ', nan, pinf, ninf
  265.     end
  266. to print
  267.     nan, pinf, ninf =   NaN  Infinity -Infinity
  268.   libi77: wref.c: protect with #ifdef GOOD_SPRINTF_EXPONENT an
  269. optimization that requires exponents to have 2 digits when 2 digits
  270. suffice.  lwrite.c wsfe.c (list and formatted external output):
  271. omit ' ' carriage-control when compiled with -DOMIT_BLANK_CC .
  272. Off-by-one bug fixed in character count for list output of character
  273. strings.  Omit '.' in list-directed printing of Nan, Infinity.
  274.  
  275. Mon Jul 11 13:05:33 EDT 1994
  276.   src/gram.c updated.
  277.  
  278. Tue Jul 12 10:24:42 EDT 1994
  279.   libi77: wrtfmt.c: under G11.4, write 0. as "  .0000    " rather
  280. than "  .0000E+00".
  281.  
  282. Thu Jul 14 17:55:46 EDT 1994
  283.   Fix glitch in changes of 6 July 1994 that could cause erroneous
  284. "division by zero" warnings (or worse).  Example:
  285.     subroutine foo(a,b)
  286.     y = b
  287.     a = a / y    ! erroneous warning of division by zero
  288.     end
  289.  
  290. Mon Aug  1 16:45:17 EDT 1994
  291.   libi77: lread.c rsne.c: for benefit of systems with a buggy stdio.h,
  292. declare ungetc when neither KR_headers nor ungetc is #defined.
  293.  
  294. Wed Aug  3 01:53:00 EDT 1994
  295.   libi77: lwrite.c (list output): do not insert a newline when
  296. appending an oversize item to an empty line.
  297.  
  298. Mon Aug  8 00:51:01 EDT 1994
  299.   Fix bug (introduced 3 Feb. 1993) that, under -i2, kept LOGICAL*2
  300. variables from appearing in INQUIRE statements.  Under -I2, allow
  301. LOGICAL*4 variables to appear in INQUIRE.  Fix intrinsic function
  302. LEN so it returns a short value under -i2, a long value otherwise.
  303.   exec.c: fix obscure memory fault possible with bizarre (and highly
  304. erroneous) DO-loop syntax.
  305.  
  306. Fri Aug 12 10:45:57 EDT 1994
  307.   libi77: fix glitch that kept ERR= (in list- or format-directed input)
  308. from working after a NAMELIST READ.
  309.  
  310. Thu Aug 25 13:58:26 EDT 1994
  311.   Suppress -s when -C is specified.
  312.  
  313. Wed Sep  7 22:13:20 EDT 1994
  314.   libi77: typesize.c: adjust to allow types LOGICAL*1, LOGICAL*2,
  315. INTEGER*1, and (under -DAllow_TYQUAD) INTEGER*8 in NAMELISTs.
  316.  
  317. Fri Sep 16 17:50:18 EDT 1994
  318.   Change name adjustment for reserved words: instead of just appending
  319. "_" (a single underscore), append "_a_" to local variable names to avoid
  320. trouble when a common block is named a reserved word and the same
  321. reserved word is also a local variable name.  Example:
  322.     common /const/ a,b,c
  323.     real const(3)
  324.     equivalence (const(1),a)
  325.     a = 1.234
  326.     end
  327.   Arrange for ichar() to treat characters as unsigned.
  328.   libf77: s_cmp.c: treat characters as unsigned in comparisons.
  329. These changes for unsignedness only matter for strings that contain
  330. non-ASCII characters.  Now ichar() should always be >= 0.
  331.  
  332. Sat Sep 17 11:19:32 EDT 1994
  333.   fc: set rc=$? before exit (to get exit code right in trap code).
  334.  
  335. Mon Sep 19 17:49:43 EDT 1994
  336.   libf77: s_paus.c: flush stderr after PAUSE; add #ifdef MSDOS stuff.
  337.   libi77: README: point out general need for -DMSDOS under MS-DOS.
  338.  
  339. Tue Sep 20 11:42:30 EDT 1994
  340.   Fix bug in comparing identically named common blocks, in which
  341. all components have the same names and types, but at least one is
  342. dimensioned (1) and the other is not dimensioned.  Example:
  343.     subroutine foo
  344.     common /ab/ a
  345.     a=1.    !!! translated correctly to ab_1.a = (float)1.;
  346.     end
  347.     subroutine goo
  348.     common /ab/ a(1)
  349.     a(1)=2.    !!! translated erroneously to ab_1.a[0] = (float)2. 
  350.     end
  351.  
  352. Tue Sep 27 23:47:34 EDT 1994
  353.   Fix bug introduced 16 Sept. 1994: don't add _a_ to C keywords
  354. used as external names.  In fact, return to earlier behavior of
  355. appending __ to C keywords unless they are used as external names,
  356. in which case they get just one underscore appended.
  357.   Adjust constant handling so integer and logical PARAMETERs retain
  358. type information, particularly under -I2.  Example:
  359.     SUBROUTINE FOO
  360.     INTEGER I
  361.     INTEGER*1 I1
  362.     INTEGER*2 I2
  363.     INTEGER*4 I4
  364.     LOGICAL L
  365.     LOGICAL*1 L1
  366.     LOGICAL*2 L2
  367.     LOGICAL*4 L4
  368.     PARAMETER (L=.FALSE., L1=.FALSE., L2=.FALSE., L4=.FALSE.)
  369.     PARAMETER (I=0,I1=0,I2=0,I4=0)
  370.     CALL DUMMY(I, I1, I2, I4, L, L1, L2, L4)
  371.     END
  372.   f2c.1t: Change f\^2c to f2c (omit half-narrow space) in line following
  373. ".SH NAME" for benefit of systems that cannot cope with troff commands
  374. in this context.
  375.  
  376. Wed Sep 28 12:45:19 EDT 1994
  377.   libf77: s_cmp.c fix glitch in -DKR_headers version introduced
  378. 12 days ago.
  379.  
  380. Thu Oct  6 09:46:53 EDT 1994
  381.   libi77: util.c: omit f__mvgbt (which is never used).
  382.   f2c.h: change "long" to "long int" to facilitate the adjustments
  383. by means of sed described above.  Comment out unused typedef of Long.
  384.  
  385. Fri Oct 21 18:02:24 EDT 1994
  386.   libf77: add s_catow.c and adjust README to point out that changing
  387. "s_cat.o" to "s_catow.o" in the makefile will permit the target of a
  388. concatenation to appear on its right-hand side (contrary to the
  389. Fortran 77 Standard and at the cost of some run-time efficiency).
  390.  
  391. Wed Nov  2 00:03:58 EST 1994
  392.   Adjust -g output to contain only one #line line per statement,
  393. inserting \ before the \n ending lines broken because of their
  394. length [this insertion was recanted 10 Dec. 1994].  This change
  395. accommodates an idiocy in the ANSI/ISO C standard, which leaves
  396. undefined the behavior of #line lines that occur within the arguments
  397. to a macro call. 
  398.  
  399. Wed Nov  2 14:44:27 EST 1994
  400.   libi77: under compilation with -DALWAYS_FLUSH, flush buffers at
  401. the end of each write statement, and test (via the return from
  402. fflush) for write failures, which can be caught with an ERR=
  403. specifier in the write statement.  This extra flushing slows
  404. execution, but can abort execution or alter the flow of control
  405. when a disk fills up.
  406.   f2c/src/io.c: Add ERR= test to e_wsle invocation (end of
  407. list-directed external output) to catch write failures when libI77
  408. is compiled with -DALWAYS_FLUSH.
  409.  
  410. Thu Nov  3 10:59:13 EST 1994
  411.   Fix bug in handling dimensions involving certain intrinsic
  412. functions of constant expressions: the expressions, rather than
  413. pointers to them, were passed.  Example:
  414.       subroutine subtest(n,x)
  415.       real x(2**n,n) ! pow_ii(2,n) was called; now it's pow_ii(&c__2,n) 
  416.       x(2,2)=3.
  417.       end
  418.  
  419. Tue Nov  8 23:56:30 EST 1994
  420.   malloc.c: remove assumption that only malloc calls sbrk.  This
  421. appears to make malloc.c useful on RS6000 systems.
  422.  
  423. Sun Nov 13 13:09:38 EST 1994
  424.   Turn off constant folding of integers used in floating-point
  425. expressions, so the assignment in
  426.     subroutine foo(x)
  427.     double precision x
  428.     x = x*1000000*500000
  429.     end
  430. is rendered as
  431.     *x = *x * 1000000 * 500000;
  432. rather than as
  433.     *x *= 1783793664;
  434.  
  435. Sat Dec 10 16:31:40 EST 1994
  436.   Supply a better error message (than "Impossible type 14") for
  437.     subroutine foo
  438.     foo = 3
  439.     end
  440.   Under -g, convey name of included files to #line lines.
  441.   Recant insertion of \ introduced (under -g) 2 Nov. 1994.
  442.  
  443. Thu Dec 15 14:33:55 EST 1994
  444.   New command-line option -Idir specifies directories in which to
  445. look for non-absolute include files (after looking in the directory
  446. of the current input file).  There can be several -Idir options, each
  447. specifying one directory.  All -Idir options are considered, from
  448. left to right, until a suitably named file is found.  The -I2 and -I4
  449. command-line options have precedence, so directories named 2 or 4
  450. must be spelled by some circumlocation, such as -I./2 .
  451.   f2c.ps updated to mention the new -Idir option, correct a typo,
  452. and bring the man page at the end up to date.
  453.   lex.c: fix bug in reading line numbers in #line lines.
  454.   fc updated to pass -Idir options to f2c.
  455.  
  456. Thu Dec 29 09:48:03 EST 1994
  457.   Fix bug (e.g., addressing fault) in diagnosing inconsistency in
  458. the type of function eta in the following example:
  459.     function foo(c1,c2)
  460.     double complex foo,c1,c2
  461.     double precision eta
  462.     foo = eta(c1,c2)
  463.     end
  464.     function eta(c1,c2)
  465.     double complex eta,c1,c2
  466.     eta = c1*c2
  467.     end
  468.  
  469. Mon Jan  2 13:27:26 EST 1995
  470.   Retain casts for SNGL (or FLOAT) that were erroneously optimized
  471. away.  Example:
  472.     subroutine foo(a,b)
  473.     double precision a,b
  474.     a = float(b)    ! now rendered as *a = (real) (*b);
  475.     end
  476.   Use float (rather than double) temporaries in certain expressions
  477. of type complex.  Example: the temporary for sngl(b) in
  478.     complex a
  479.     double precision b
  480.     a = sngl(b) - (3.,4.)
  481. is now of type float.
  482.  
  483. Fri Jan  6 00:00:27 EST 1995
  484.   Adjust intrinsic function cmplx to act as dcmplx (returning
  485. double complex rather than complex) if either of its args is of
  486. type double precision.  The double temporaries used prior to 2 Jan.
  487. 1995 previously gave it this same behavior.
  488.  
  489. Thu Jan 12 12:31:35 EST 1995
  490.   Adjust -krd to use double temporaries in some calculations of
  491. type complex.
  492.   libf77: pow_[dhiqrz][hiq].c: adjust x**i to work on machines
  493. that sign-extend right shifts when i is the most negative integer.
  494.  
  495. Wed Jan 25 00:14:42 EST 1995
  496.   Fix memory fault in handling overlapping initializations in
  497.     block data
  498.     common /zot/ d
  499.     double precision d(3)
  500.     character*6 v(4)
  501.     real r(2)
  502.     equivalence (d(3),r(1)), (d(1),v(1))
  503.     data v/'abcdef', 'ghijkl', 'mnopqr', 'stuvwx'/
  504.     data r/4.,5./
  505.     end
  506.   names.c: add "far", "huge", "near" to c_keywords (causing them
  507. to have __ appended when used as local variables).
  508.   libf77: add s_copyow.c, an alternative to s_copy.c for handling
  509. (illegal) character assignments where the right- and left-hand
  510. sides overlap, as in a(2:4) = a(1:3).
  511.  
  512. Thu Jan 26 14:21:19 EST 1995
  513.   libf77: roll s_catow.c and s_copyow.c into s_cat.c and s_copy.c,
  514. respectively, allowing the left-hand side of a character assignment
  515. to appear on its right-hand side unless s_cat.c and s_copy.c are
  516. compiled with -DNO_OVERWRITE (which is a bit more efficient).
  517. Fortran 77 forbids the left-hand side from participating in the
  518. right-hand side (of a character assignment), but Fortran 90 allows it.
  519.   libi77: wref.c: fix glitch in printing the exponent of 0 when
  520. GOOD_SPRINTF_EXPONENT is not #defined.
  521.  
  522. Fri Jan 27 12:25:41 EST 1995
  523.   Under -C++ -ec (or -C++ -e1c), surround struct declarations with
  524.     #ifdef __cplusplus
  525.     extern "C" {
  526.     #endif
  527. and
  528.     #ifdef __cplusplus
  529.     }
  530.     #endif
  531. (This isn't needed with cfront, but apparently is necessary with
  532. some other C++ compilers.)
  533.   libf77: minor tweak to s_copy.c: copy forward whenever possible
  534. (for better cache behavior).
  535.  
  536. Wed Feb  1 10:26:12 EST 1995
  537.   Complain about parameter statements that assign values to dummy
  538. arguments, as in
  539.     subroutine foo(x)
  540.     parameter(x = 3.4)
  541.     end
  542.  
  543. Sat Feb  4 20:22:02 EST 1995
  544.   fc: omit "lib=/lib/num/lib.lo".
  545.  
  546. Current timestamps of files in "all from f2c/src", sorted by time,
  547. appear below (mm/dd/year hh:mm:ss).  To bring your source up to date,
  548. obtain source files with a timestamp later than the time shown in your
  549. version.c.  Note that the time shown in the current version.c is the
  550. timestamp of the source module that immediately follows version.c below:
  551.  
  552.  2/01/1995  10:25:46  xsum0.out
  553.  2/01/1995   9:27:53  version.c
  554.  2/01/1995   9:27:43  data.c
  555.  1/27/1995  12:28:43  names.c
  556.  1/24/1995  23:28:17  formatdata.c
  557.  1/10/1995  19:06:14  proc.c
  558.  1/05/1995  19:14:27  intr.c
  559.  1/02/1995  13:26:49  putpcc.c
  560.  1/02/1995   9:19:52  expr.c
  561.  1/02/1995   8:45:01  Notice
  562. 12/16/1994  15:25:18  README
  563. 12/15/1994  13:47:30  f2c.1
  564. 12/15/1994  13:37:53  f2c.1t
  565. 12/15/1994  13:00:26  main.c
  566. 12/15/1994  12:28:06  lex.c
  567. 12/10/1994  15:24:15  niceprintf.c
  568. 12/09/1994  23:48:20  format.c
  569. 11/30/1994  16:35:41  exec.c
  570. 11/08/1994  23:40:55  malloc.c
  571. 11/03/1994  10:10:46  vax.c
  572. 11/02/1994  14:38:06  io.c
  573. 10/06/1994   9:46:11  f2c.h
  574.  9/27/1994  23:11:18  init.c
  575.  9/27/1994  23:11:00  defs.h
  576.  9/27/1994  23:09:35  put.c
  577.  9/27/1994  18:27:26  misc.c
  578.  9/16/1994  16:56:14  output.c
  579.  7/01/1994  23:46:42  sysdep.h
  580.  7/01/1994  23:24:55  makefile
  581.  5/10/1994   7:42:53  parse_args.c
  582.  5/10/1994   7:42:53  p1output.c
  583.  3/05/1994   0:57:28  sysdep.c
  584.  3/04/1994  23:42:15  pread.c
  585.  2/25/1994  22:18:14  xsum.c
  586.  2/25/1994  10:56:33  error.c
  587.  2/25/1994  10:25:21  gram.head
  588.  2/25/1994  10:24:54  mem.c
  589.  2/25/1994  10:24:53  equiv.c
  590.  2/25/1994  10:24:52  cds.c
  591.  2/25/1994   2:07:19  parse.h
  592.  2/22/1994  19:07:20  iob.h
  593.  2/22/1994  18:56:53  p1defs.h
  594.  2/22/1994  18:53:46  output.h
  595.  2/22/1994  18:51:14  names.h
  596.  2/22/1994  18:30:41  format.h
  597.  1/18/1994  18:12:52  tokens
  598.  1/18/1994  18:12:52  gram.dcl
  599.  3/06/1993  14:13:58  gram.expr
  600.  3/04/1993  14:59:25  gram.exec
  601.  1/28/1993   9:03:16  ftypes.h
  602.  1/25/1993  11:26:33  defines.h
  603.  4/06/1990   0:00:57  gram.io
  604.  2/03/1990   0:58:26  niceprintf.h
  605.  1/29/1990  13:26:52  memset.c
  606.  1/07/1990   1:20:01  usignal.h
  607. 11/27/1989   8:27:37  machdefs.h
  608.  7/01/1989  11:59:44  pccdefs.h
  609.